import request from '@/utils/request'

// 模糊查询临时通行证申请单列表
export function listApplication(query) {
  return request({
    url: '/api/apply/list',
    method: 'get',
    params: query
  })
}

// 查询临时通行证申请单详细
export function getApplication(id) {
  return request({
    url: '/api/apply/' + id,
    method: 'get'
  })
}
//查询通行证附带人员
export function getApplicationAndPersons(id) {
  return request({
    url: '/api/apply/ApplyAndPerson/' + id,
    method: 'get'
  })
}

// 新增临时通行证申请单
export function addApplication(data) {
  return request({
    url: '/api/apply',
    method: 'post',
    data: data
  });
}

// 修改临时通行证申请单
export function updateApplication(id, data) {
  return request({
    url: '/api/apply/'+id,
    method: 'put',
    data: data
  })
}

// 统一删除方法（自动处理单条/批量）
export function delApplication(ids) {
  return request({
    url: '/api/apply',
    method: 'delete',
    data: ids // 始终传数组，如 [1] 或 [1,2,3]
  })
}

// 生成申请单编号
export function generateAppNo(){
  return request({
    url: '/api/apply/generateAppNo',
    method: 'get'
  })
}

//查询流程列表
export function listProcess(query) {
  return request({
    url: '/workflow/process/list',
    method: 'get',
    params: query
  })
}

//查询流程详情
export function getProcessStatus(procInsId,taskId){
  return request({
    url: `/workflow/process/detail?procInsId=${procInsId}&taskId=${taskId}`,
    method: 'get'
  })
}
//送审
export function Review(processDefId,data) {
  return request({
    url: `/workflow/process/start/${processDefId}`,
    method: 'post',
    data: data // 直接传递对象，axios自动转JSON
  })
}

//更新申请单审批状态
export function updateApprovalStatus(id, status) {
  return request({
    url: `/api/apply/${id}/status/${status}`,  // 直接嵌入路径
    method: 'put'
  });
}

// 批量更新状态
export function batchUpdateApprovalStatus(ids, status) {
  return request({
    url: `/api/apply/status/${status}`,  // 移除单个 id
    method: 'put',
    data: ids   // JSON 数组，比如 [60, 59]
  })
}


// 查询部门详细
export function getDept2(deptId) {
  return request({
    url: '/system/dept/' + deptId,
    method: 'get'
  })
}

// 新增部门
export function addDept2(data) {
  return request({
    url: '/system/dept/addReturnNull',
    method: 'post',
    data: data
  })
}

// 查询部门列表
export function listDept(query) {
  return request({
    url: '/system/dept/list',
    method: 'get',
    params: query
  })
}

// 查询部门列表（排除节点）
export function listDeptExcludeChild(deptId) {
  return request({
    url: '/system/dept/list/exclude/' + deptId,
    method: 'get'
  })
}

// 查询部门的子部门数
export function getDeptOrderMax(deptId) {
  return request({
    url: '/system/dept//getDeptOrderMax/' + deptId,
    method: 'get'
  })
}
// 部门树结构
export function deptTreeSelect() {
  return request({
    url: '/api/apply/deptTree',
    method: 'get'
  })
}

// 部门树结构
export function getDeptName(deptId) {
  return request({
    url: '/api/apply/deptName/'+deptId,
    method: 'get'
  })
}

//送审OA
export function sendOaToApproval(ids) {
  return request({
    url: '/api/apply/sendOaToApproval',
    method: 'post',
    data: ids
  })
}


export function QRCode(name, appNo) {
  return request({
    url: '/api/apply/createQRCode',
    method: 'get',
    params: { name , appNo}   // @RequestParam 对应 params
  })
}

